package cn.le.exception;

import java.io.FileNotFoundException;
import java.io.IOError;
import java.io.IOException;

/**
 * Created by admin on 2017/4/27.
 */
public class WrapCheckedException {
    void throwRuntimeException(int type)
    {
        try
        {
            switch (type) {
                case 0:
                    throw new FileNotFoundException();
                case 1:throw new IOException();
                case 2:throw new RuntimeException("Where an I?");
                default:return;
            }
        }catch (Exception e)
        {
            throw new RuntimeException(e);
        }
    }
}
class SomeOtherException extends  Exception{}

class TurnOffChecking{

    public static void main(String[] args) {

        WrapCheckedException wce = new WrapCheckedException();
        wce.throwRuntimeException(3);

        for (int i = 0;i < 4;i++)
        {
            try{
                if (i < 3)
                {
                    wce.throwRuntimeException(i);
                }
                else
                {
                    throw new SomeOtherException();
                }
            }
            catch (SomeOtherException e)
            {
                System.out.println("SomeOtherException: "+e);
            }
            catch (RuntimeException re)
            {
                try
                {
                    //获取RuntimeException异常原因,也就是获取具体的异常信息
                    throw re.getCause();
                }
                catch (FileNotFoundException e)
                {
                    System.out.println("FileNotFoundException:"+e);
                }
                catch (IOException e)
                {
                    System.out.println("IOException:"+e);
                }
                catch (Throwable e)
                {
                    System.out.println("Throwable:"+e);
                }
            }
        }
    }

}
























